#ifndef CONECTIONWINDOW_H
#define CONECTIONWINDOW_H

#include <QFrame>
#include <QVBoxLayout>
#include <QLabel>
#include <QMessageBox>
#include <QSqlDatabase>
#include <QListWidget>
#include <QStringList>
#include <vector>
#include <algorithm>
#include <functional>
#include "pushbutton.h"
#include "lineedit.h"
#include "historytree.h"

class ConnectionWindow : public QWidget
{
    Q_OBJECT

    QSqlDatabase db;
    PushButton *connect_but;
    LineEdit *addr_server_edit, *login_edit, *password_edit;
    QListWidget *history_list_wid; // пропонує вибір даних, з раніше введених
    std::vector<QStringList*> string_list_pointers;
    HeadHistoryTree history_tree; // історія введених значень користувачем
    static QStringList *__deletePointers(QStringList *);
public:
    explicit ConnectionWindow(QWidget *parent = 0);
    ~ConnectionWindow();
signals:
    void connectionOk();
    void connectionNotOk();
private slots:
    void getHistoryTree(const QString&);
    void historyItemSelected(QListWidgetItem*);
    void insertingText(const QString&);
    void connectToServer(); // з'єднання з MySQL-сервером
};

#endif // CONECTIONWINDOW_H
